Most GUI applications use a standard interface format and window structure which includes: menu bars, pull-down and pop-up windows, dialog boxes, buttons, message fields, etc. Although the application program determines the relative size and area of the screen locations and the text to be presented, the actual painting on the screen is controlled by the operating system. The text for such applications is normally implemented in one language which limits the usefulness of the application with users who do not have sufficient skills to understand the application's language. Prior solutions for this limitation include modifying the application program to present the text in another language, but this is a significant programming and technical task.
Other approaches have dealt with this challenge. Some solutions are application program specific, that is, some kind of language translation mechanism is built into the application program (such as in U.S. Pat. No. 4,731,735 to Borgendale er al.). Others require some type of message code (such as in U.S. Pat. No. 4,365,315 to Jamnik), or identifier (such as in U.S. Pat. No. 4,595,980 to Innes), so that computer specified messages can be generated and translated external to the application program in an interactive and real-time fashion. But, these approaches require that the identifying code be added into the application program itself. Such identifying requires that the application program itself be changed, and such changes are not amenable to on-line translation into many alternative languages. None has addressed an application program independent language translation process for presentations to be displayed, where the application program need not be recompiled or otherwise changed. Nor has there been any approach involving the learning process for a target application. Furthermore, there has not been any invention allowing the users to interactively change languages displayed while the-application is running. Within this specification "target application" is defined as that application program whose user presentations are to be translated.